package com.qyx.pmpucat.util;


import com.qyx.pmpucat.enums.QuestionnaireTypeEnum;

/**
 * 人格特质描述助手类
 * 根据问卷类型和θ值返回对应的描述信息
 */
public class PersonalityDescriptionHelper {
    
    /**
     * 根据问卷类型和θ值获取描述
     * 
     * @param type 问卷类型
     * @param theta θ值
     * @return 对应的描述信息
     */
    public static String getDescription(QuestionnaireTypeEnum type, Double theta) {
        if (type == null || theta == null) {
            return "参数不完整，无法获取描述";
        }
        
        switch (type) {
            case EXTRAVERSION: // 外倾性
                if (theta < -1) {
                    return "你在外倾性上属于\"较低\"水平，表现为内向、安静，偏好独处或小范围交流。你可能在社交场合中感到耗能，不主动发起互动，常被误认为冷漠或疏离。但这不代表社交能力差，而是能量来源不同。建议逐步拓展舒适区，每周参与一次轻度社交活动（如兴趣小组），练习主动问候或分享观点。不必强迫自己\"外向\"，而是培养有质量的连接，发挥倾听与深度思考的优势。";
                } else if (theta >= -1 && theta <= 1) {
                    return "你的外倾性处于\"中等\"水平，社交风格灵活，兼具内向与外向特质。你能在需要时活跃表达，也能享受独处，适应不同情境。这种平衡让你在团队中既不抢风头也不被忽视，具备良好的人际弹性。建议继续保持自我觉察，在重要场合主动发声，在疲惫时允许自己退后恢复。你已具备良好的社交基础，未来可针对性提升公众表达或深度沟通技巧，进一步增强影响力。";
                } else {
                    return "你的外倾性属于\"较高\"水平，性格外向热情，精力充沛，喜欢成为关注中心。你在社交中主动、健谈，能快速建立联系，是团队的\"气氛担当\"。但需注意可能无意中主导对话，忽略他人表达机会。建议在交流中多使用开放式提问，练习\"先倾听再回应\"，提升共情质量。适度保留独处时间，有助于沉淀思考，避免过度依赖外部刺激，实现内外能量的平衡发展。";
                }
                
            case AGREEABLENESS: // 宜人性
                if (theta < -1) {
                    return "你的宜人性处于\"较低\"水平，倾向于坚持己见、重视目标而非关系，可能显得直接甚至强硬。你不易轻信他人，决策理性，适合竞争性或高压力环境。但长期可能影响合作效率与团队氛围。建议增强换位思考意识，练习在表达反对前先肯定对方观点。学习建设性冲突管理技巧，在坚持原则的同时维护关系，提升人际协同能力，避免被误解为冷漠或难相处。";
                } else if (theta >= -1 && theta <= 1) {
                    return "你的宜人性处于\"中等\"水平，能在合作与自主之间取得平衡。你愿意妥协但不盲从，信任他人但保有判断力，具备健康的边界感。这种特质有助于建立稳定、真实的人际关系。建议继续保持理性与同理心的结合，在团队中发挥协调作用。未来可加强非暴力沟通训练，提升在冲突中维持关系的能力，成为既可靠又有温度的合作者。";
                } else {
                    return "你的宜人性\"较高\"，性格善良、信任他人、乐于助人，常为和谐牺牲自我需求。你容易获得他人好感，是团队中的\"粘合剂\"。但过度迁就可能导致压抑情绪或被利用。建议学习设立心理边界，练习温和而坚定地说\"不\"。在帮助他人前先评估自身资源，避免情感耗竭。保持善意的同时增强自我主张，实现利他与自爱的平衡，才能持续贡献温暖。";
                }
                
            case CONSCIENTIOUSNESS: // 尽责性
                if (theta < -1) {
                    return "你的尽责性\"较低\"，可能表现为拖延、计划性弱、组织混乱，常错过截止日期或任务中断。你更随性自由，但影响效率与他人信任。建议从小目标开始建立秩序感，如使用待办清单、设定每日3件优先任务。借助外部工具（日历提醒、番茄钟）提升执行力。不必追求完美，关键是\"持续行动\"。逐步培养责任感，将自由精神与基本自律结合，提升生活掌控感。";
                } else if (theta >= -1 && theta <= 1) {
                    return "你的尽责性处于\"中等\"水平，能完成基本任务，有一定程度的计划性，但自律性不稳定。你在压力下可高效，平时则较松弛。这是常见状态，具备提升空间。建议识别影响效率的情境（如干扰源、疲劳时段），优化工作节奏。设定清晰目标与奖励机制，增强内在动机。不必苛求极致条理，而是建立可持续的习惯系统，逐步提升可靠性和目标达成率。";
                } else {
                    return "你的尽责性\"较高\"，高度自律、守时、有条理，目标导向强，是可靠的执行者。你注重细节，追求高质量输出，适合复杂或高要求任务。但可能过度追求完美，导致焦虑或效率下降。建议设定\"完成标准\"而非\"完美标准\"，允许适度瑕疵。定期放松计划，培养灵活性。在坚持责任的同时关注身心健康，避免 burnout，实现高效与平衡的长期发展。";
                }
                
            case NEUROTICISM: // 神经质
                if (theta < -1) {
                    return "你的神经质水平\"较低\"，意味着情绪极其稳定，抗压能力强，面对挫折能冷静应对。你较少焦虑、抑郁，心理韧性高，是他人眼中的\"定海神针\"。这种特质有助于长期目标坚持和危机管理。建议继续保持健康的生活节奏，适度表达情绪，避免压抑感受。可发挥稳定性优势，在团队中承担协调或领导角色，同时关注情绪表达的丰富性，提升情感连接深度。";
                } else if (theta >= -1 && theta <= 1) {
                    return "你的神经质处于\"中等\"水平，情绪有正常波动，压力下可能短暂焦虑或低落，但能较快恢复。这是大多数人的情况，具备一定心理弹性。建议建立情绪调节习惯，如正念、运动或写日记，增强自我觉察。识别触发负面情绪的情境，提前准备应对策略。无需追求完全\"无情绪\"，而是提升情绪管理能力，将波动转化为自我成长的动力。";
                } else {
                    return "你的神经质水平\"较高\"，容易体验焦虑、担忧和情绪波动，对压力敏感，可能陷入反刍思维。这不代表心理问题，而是神经系统更警觉。建议系统学习情绪调节技巧，如认知重构、深呼吸训练或正念冥想。建立规律作息与支持系统，避免孤立。可将敏感特质转化为优势——如更强的危机预判力或共情力，关键在于提升情绪管理能力，化脆弱为觉察力。";
                }
                
            case OPENNESS: // 开放性
                if (theta < -1) {
                    return "你的开放性\"较低\"，偏好熟悉、具体的事物，重视实用性与规则，对抽象、艺术或非常规观念兴趣较弱。你思维务实，决策稳健，适合结构化工作。但可能对变化适应较慢。建议每周尝试一项微小新体验（如新路线、新食物），逐步拓展认知边界。不必强迫自己\"文艺\"，而是保持对新信息的好奇，提升灵活性，避免因过度保守错失创新机会。";
                } else if (theta >= -1 && theta <= 1) {
                    return "你的开放性处于\"中等\"水平，对新事物有一定接受度，能在传统与创新间平衡。你尊重规则也愿意尝试变化，具备现实感与适度想象力。这种特质适合大多数工作与生活场景。建议在安全范围内主动接触新观点，如阅读跨领域文章或参与讨论。保持思维开放但不盲从，形成独立判断。你已具备良好基础，未来可针对性发展创造力或批判性思维。";
                } else {
                    return "你的开放性\"较高\"，充满好奇心，热爱艺术、哲学与新体验，思维跳跃，富有想象力。你乐于探索未知，是创新的推动者。但可能忽视细节或现实约束，导致计划难以落地。建议在发散思维后增加\"收敛阶段\"，问自己：\"这个想法如何实施？\"建立结构化流程，提升执行力。将创意转化为成果，避免停留在构想层面，实现理想与现实的融合。";
                }
                
            default:
                return "未知的问卷类型";
        }
    }
    
    /**
     * 获取区间名称
     * 
     * @param theta θ值
     * @return 区间名称
     */
    public static String getLevelName(Double theta) {
        if (theta == null) {
            return "未知";
        }
        
        if (theta < -1) {
            return "较低";
        } else if (theta >= -1 && theta <= 1) {
            return "中等";
        } else {
            return "较高";
        }
    }
}
